package com.txh.blog.dao;

import com.txh.blog.bean.*;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface BlogDao{
//    根据id查询数据
    Blog getBlog(Long id);
//    查询所有的方法
    List<Blog> findAll();
//    保存数据
    void saveBlog(Blog blog);
//    多条件的模糊查询
    List<BlogList> search(SearchBlog searchBlog);
//    修改
    void updateBlog(Blog blog);
//    删除
    void deleteBlog(Long id);
//    查询所有的博客信息
    List<Blog> listBlog();
// 查询出所有与分类相关的博客
    List<FirstPageBlog> getFirstPageBlog();
//    查询出所有与标签相关的博客
    List<Blog> finByTagId();
//    保存博客和标签相关连的数据
    int saveBlogAndTag(BlogAndTag blogAndTag);
//所有的推荐博客
    List<getAllRecommendBlog> getAllRecommendBlog();
//    全局搜索功能
    List<FirstPageBlog> getSearchBlog(String query);
//    根据id查询出详细的博客信息
    Blog getDetailedBlog(Long id);
//
    List<FirstPageBlog> getByTypeId(Long typeId);

    Blog listId(Long id);
    List<FirstPageBlog> getByTagId(Long typeId);
    List<String> findByYear();
    List<Blog> selectByYear(String year);
    String blogCount();
}
